package com.reider.log4AS3.layouts
{
	import com.reider.log4AS3.dataholder.Log;
	
	/**
	 * This is an abstract class you have to extend it to create custom layout.
	 */
	public class Layout
	{	
		/**
		 * @private
		 */
		
		public function Layout()
		{
			if(this["constructor"] == Layout)
				throw new ArgumentError("Layout is an abstract class it must be extended");
		}
		
		/**
		 * This is an abstract method you must override it in the extended class.
		 * 
		 * @param log The log instance containing the logged values.
		 */
		public function format(log:Log):String
		{
			throw new Error("format is an abstract method you must override it")
		}

	}
}